package main

import "fmt"

func main() {

	var a [5]int = [5]int{1, 2}
	a = a
	//change(a)//报错，类型不匹配

	var b [5]int = [5]int{1, 2}
	fmt.Println(b) //[1 2 0 0 0]
	change(b)
	fmt.Println(b) //[1 2 0 0 0]你发现，这里并没有改变，因为是数组在go语言中是值类型

	change2(&b)
	fmt.Println(b) //[10 2 0 0 0]	使用传址，改变了数组的元素
}

func change(a [5]int) {
	a[1] = 1
}

func change2(a *[5]int) { //需要传递一个地址（引用）
	(*a)[0] = 10
}
